package com.hspedu.homework;

import java.util.*;

/**
 * @author DL5O
 * @version 1.0
 */

@SuppressWarnings("all")
public class Homework03 {
    public static void main(String[] args) {
        HashMap map = new HashMap();
        map.put("jack",650);
        map.put("tom",1200);
        map.put("smith",2900);

        map.replace("jack",2600);//第一种方式
        map.put("jack",2600);

        Collection values = map.values();
        Set keySet = map.keySet();
        Iterator iterator = keySet.iterator();
        Iterator iterator1 = values.iterator();
        while (iterator.hasNext() && iterator1.hasNext()) {
            String key = (String)iterator.next();
            int value = ((Integer)iterator1.next()).intValue() + 100;
            map.replace(key,value);
        }

        //第一种方法，使用 map.keySe()，获得员工的名字key，然后通过key来获取对应的value
        System.out.println("====员工姓名====");
        Set keySet1 = map.keySet();
        for (Object o :keySet1) {
//            System.out.println(o + "-" + map.get(o));
            System.out.println("姓名:" + o);
        }


        //第二种方法 使用map.value 得到员工的工资
        System.out.println("====员工工资====");
        Collection values1 = map.values();
        for (Object o : values1) {
            System.out.println("工资:" + o);
        }


        //遍历所有的员工及其对应的工资
        //第三种方式 使用entrySet 方法 进行遍历
        System.out.println("====员工的详细信息====");
        Set entrySet = map.entrySet();
        //1.增强for
        for (Object entry : entrySet) {
            Map.Entry m = (Map.Entry)entry; //需要进行一个向下转型，
            System.out.println(m.getKey() + "-" + m.getValue());
            // 使用Map.Entry接口里面的方法，得到key和value
        }

        //2.使用迭代器
      /*  Iterator iterator2 = entrySet.iterator();
        while (iterator2.hasNext()) {
            Map.Entry info=  (Map.Entry) iterator2.next();
            System.out.println(info.getKey() + "-" + info.getValue());
        }*/


    }
}
